diff --git a/assets/js/EditProfile.jsx b/assets/js/EditProfile.jsx
index 780461b3b46810f7406616889cd0e5fbcf17e730..1fdae200b477d108e9413b08b87be74af3cf7cd6 100644
--- a/assets/js/EditProfile.jsx
+++ b/assets/js/EditProfile.jsx
@@ -69,6 +69,7 @@ export default class ProfilePage extends React.Component {
         certification: '',
         languages: '',
         seminar: '',
+        interests: '',
       },
       bagikanTranskrip: '',
       acceptedNo: 0,
@@ -88,6 +89,7 @@ export default class ProfilePage extends React.Component {
       certification: '',
       languages: '',
       seminar: '',
+      interests: '',
       dependants: '',
     };
     this.getProfile = this.getProfile.bind(this);
@@ -147,6 +149,7 @@ export default class ProfilePage extends React.Component {
           certification: data.certification,
           languages: data.languages,
           seminar: data.seminar,
+          interests: data.interests,
         });
         if (this.props.route.own) {
           const newSession = this.props.user.data;
@@ -577,6 +580,16 @@ export default class ProfilePage extends React.Component {
               />
             </Form.Field>
 
+            <Form.Field>
+              <label htmlFor="interests">Interests</label>
+              <input
+                onChange={this.handleChange}
+                placeholder={this.state.interests === null ? 'Machine Learning' : this.state.interests}
+                defaultValue={this.state.interests === null ? null : this.state.interests}
+                name="interests"
+              />
+            </Form.Field>
+
             <Form.Field>
               <label htmlFor="resume">Resume</label>
               <input
diff --git a/assets/js/ProfilePage.jsx b/assets/js/ProfilePage.jsx
index e77b5f20c24e52d364462447749d0dd2b2247d00..93a9a86ebedb9df6f2132d4b416301b614b8da02 100755
--- a/assets/js/ProfilePage.jsx
+++ b/assets/js/ProfilePage.jsx
@@ -72,6 +72,7 @@ export default class ProfilePage extends React.Component {
         certification: '',
         languages: '',
         seminar: '',
+        interests: '',
       },
       bagikanTranskrip: '',
       acceptedNo: 0,
@@ -91,6 +92,7 @@ export default class ProfilePage extends React.Component {
       certification: '',
       languages: '',
       semimar: '',
+      interests: '',
       dependants: '',
     };
     this.getProfile = this.getProfile.bind(this);
@@ -150,6 +152,7 @@ export default class ProfilePage extends React.Component {
           certification: data.certification,
           languages: data.languages,
           seminar: data.seminar,
+          interests: data.interests,
           dependants: data.dependants,
         });
         if (this.props.route.own) {
@@ -277,6 +280,8 @@ export default class ProfilePage extends React.Component {
             <Icon name="edit" />
             <Header.Content>Edit Profile Page</Header.Content>
           </Header>
+          <ModalAlert ref={(modal) => { this.modalAlert = modal; }} />
+          <Form.Field ref={(input) => { this.form = input; }} key={this.state.refresh} size="small" onSubmit={this.handleSubmit}>
           <ModalAlert
             ref={(modal) => {
               this.modalAlert = modal;
@@ -392,6 +397,9 @@ export default class ProfilePage extends React.Component {
               <label htmlFor="portfolio_link">Portfolio Link</label>
               <input
                 onChange={this.handleChange}
+                placeholder={this.state.portfolio_link === null ? 'https://www.example.com/myproject/' :
+                  this.state.portfolio_link}
+                defaultValue={this.state.portfolio_link === null ? null : this.state.portfolio_link}
                 placeholder={
                   this.state.portfolio_link === null
                     ? 'https://www.example.com/myproject/'
@@ -562,6 +570,15 @@ export default class ProfilePage extends React.Component {
                 name="seminar"
               />
             </Form.Field>
+            <Form.Field>
+              <label htmlFor="interests">Interests</label>
+              <input
+                onChange={this.handleChange}
+                placeholder={this.state.interests === null ? 'Machine Learning' : this.state.interests}
+                defaultValue={this.state.interests === null ? null : this.state.interests}
+                name="interests"
+              />
+            </Form.Field>
             <Form.Field>
               <label htmlFor="resume">Resume</label>
               <input
@@ -666,6 +683,7 @@ export default class ProfilePage extends React.Component {
               Submit
             </Button>
           </Form>
+          </Form.Field>
         </Segment>
       );
     }
@@ -1013,6 +1031,21 @@ export default class ProfilePage extends React.Component {
                     </Grid>
                   </Segment>
 
+                  <Segment basic vertical>
+                    <Grid>
+                      <Grid.Column width={2}>
+                        <Icon name="lightbulb" size="big" />
+                      </Grid.Column>
+                      <Grid.Column width={13}>
+                        <p>
+                          {' '}
+                          {this.state.interests ||
+                            'Interests belum ditambahkan'}{' '}
+                        </p>
+                      </Grid.Column>
+                    </Grid>
+                  </Segment>
+
                   <Segment basic vertical>
                     <Grid>
                       <Grid.Column width={2}>
diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py
index 7306c234d00033c64ed05fb5e9763ce3fb2616e9..4bb9a87641e6ee3f08c79fcbb48d595d37a59d63 100644
--- a/core/migrations/0001_initial.py
+++ b/core/migrations/0001_initial.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Generated by Django 1.11.17 on 2019-11-14 11:52
+# Generated by Django 1.11.17 on 2019-11-14 14:00
 from __future__ import unicode_literals
 
 import core.lib.validators
@@ -37,8 +37,8 @@ class Migration(migrations.Migration):
                 ('status', models.IntegerField(default=0)),
                 ('logo', models.FileField(blank=True, null=True, upload_to=core.models.accounts.get_company_logo_file_path, validators=[core.lib.validators.validate_image_file_extension])),
                 ('address', models.CharField(blank=True, max_length=1000, null=True)),
-                ('category', models.CharField(default='Belum ada kategori perusahaan', max_length=140)),
-                ('website', models.CharField(default='Belum ada link website', max_length=100)),
+                ('category', models.CharField(default=b'Belum ada kategori perusahaan', max_length=140)),
+                ('website', models.CharField(default=b'Belum ada link website', max_length=100)),
                 ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
             ],
             options={
@@ -50,7 +50,7 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('created', models.DateTimeField(auto_now_add=True)),
-                ('title', models.CharField(blank=True, default='', max_length=100)),
+                ('title', models.CharField(blank=True, default=b'', max_length=100)),
                 ('content', models.TextField()),
             ],
             options={
@@ -64,16 +64,16 @@ class Migration(migrations.Migration):
                 ('created', models.DateTimeField(auto_now_add=True)),
                 ('updated', models.DateTimeField(auto_now=True)),
                 ('npm', models.IntegerField(unique=True, validators=[core.lib.validators.validate_npm])),
-                ('resume', models.FileField(blank=True, null=True, upload_to=core.models.accounts.get_student_resume_file_path, validators=[django.core.validators.FileExtensionValidator(['pdf'])])),
+                ('resume', models.FileField(blank=True, null=True, upload_to=core.models.accounts.get_student_resume_file_path, validators=[django.core.validators.FileExtensionValidator([b'pdf'])])),
                 ('sertifikat', models.FileField(blank=True, null=True, upload_to=core.models.accounts.get_student_sertifikat_file_path, validators=[core.lib.validators.validate_document_file_extension])),
-                ('phone_number', models.CharField(blank=True, db_index=True, max_length=100, null=True, validators=[django.core.validators.RegexValidator('^0\\d{1,11}$')])),
+                ('phone_number', models.CharField(blank=True, db_index=True, max_length=100, null=True, validators=[django.core.validators.RegexValidator(b'^0\\d{1,11}$')])),
                 ('gender', models.CharField(blank=True, max_length=30, null=True)),
                 ('birth_place', models.CharField(blank=True, max_length=30, null=True)),
                 ('birth_date', models.DateField(blank=True, null=True)),
                 ('major', models.CharField(blank=True, max_length=30, null=True)),
                 ('batch', models.CharField(blank=True, max_length=4, null=True)),
                 ('show_transcript', models.BooleanField(default=False)),
-                ('photo', models.FileField(blank=True, null=True, upload_to=core.models.accounts.get_student_photo_file_path, validators=[django.core.validators.FileExtensionValidator(['jpg', 'jpeg', 'png'])])),
+                ('photo', models.FileField(blank=True, null=True, upload_to=core.models.accounts.get_student_photo_file_path, validators=[django.core.validators.FileExtensionValidator([b'jpg', b'jpeg', b'png'])])),
                 ('self_description', models.CharField(blank=True, db_index=True, max_length=500, null=True)),
                 ('portfolio_link', models.URLField(blank=True, null=True)),
                 ('linkedin_url', models.URLField(blank=True, null=True)),
@@ -91,14 +91,14 @@ class Migration(migrations.Migration):
                 ('intro', models.CharField(blank=True, max_length=50, null=True)),
                 ('expected_salary', models.CharField(blank=True, max_length=10, null=True)),
                 ('job_seeking_status', models.CharField(blank=True, max_length=30, null=True)),
-                ('student_gpa', models.FloatField(blank=True, db_column='student_gpa', default=1.0, null=True)),
+                ('student_gpa', models.FloatField(blank=True, db_column=b'student_gpa', default=1.0, null=True)),
                 ('volunteer', models.CharField(blank=True, max_length=100, null=True)),
                 ('awards', models.CharField(blank=True, max_length=100, null=True)),
                 ('projects', models.CharField(blank=True, max_length=100, null=True)),
                 ('certification', models.CharField(blank=True, max_length=100, null=True)),
                 ('languages', models.CharField(blank=True, max_length=100, null=True)),
                 ('seminar', models.CharField(blank=True, max_length=100, null=True)),
-                ('dependants', models.IntegerField(blank=True, db_column='dependants', default=0, null=True)),
+                ('dependants', models.IntegerField(blank=True, db_column=b'dependants', default=0, null=True)),
             ],
             options={
                 'ordering': ['-updated'],
@@ -110,7 +110,7 @@ class Migration(migrations.Migration):
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('created', models.DateTimeField(auto_now_add=True)),
                 ('updated', models.DateTimeField(auto_now=True)),
-                ('nip', models.IntegerField(unique=True, validators=[django.core.validators.MinValueValidator(100000000), django.core.validators.MaxValueValidator(9999999999)])),
+                ('nip', models.IntegerField(unique=True, validators=[django.core.validators.MinValueValidator(100000000), django.core.validators.MaxValueValidator(9999999999L)])),
                 ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
             ],
             options={
@@ -158,7 +158,7 @@ class Migration(migrations.Migration):
             name='ReasonRejected',
             fields=[
                 ('application', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='core.Application')),
-                ('reason', models.TextField(default='Tidak memenuhi kualifikasi perusahaan.')),
+                ('reason', models.TextField(default=b'Tidak memenuhi kualifikasi perusahaan.')),
             ],
         ),
         migrations.AddField(
diff --git a/core/migrations/0002_student_interest.py b/core/migrations/0002_student_interest.py
new file mode 100644
index 0000000000000000000000000000000000000000..c57bb171587221d4fdb5a40721e696df669f25c0
--- /dev/null
+++ b/core/migrations/0002_student_interest.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.17 on 2019-11-15 01:18
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('core', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='student',
+            name='interest',
+            field=models.CharField(blank=True, max_length=100, null=True),
+        ),
+    ]
diff --git a/core/migrations/0003_auto_20191115_0855.py b/core/migrations/0003_auto_20191115_0855.py
new file mode 100644
index 0000000000000000000000000000000000000000..557a253d56809992e3e1ceb241d0843e3106564f
--- /dev/null
+++ b/core/migrations/0003_auto_20191115_0855.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.17 on 2019-11-15 01:55
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('core', '0002_student_interest'),
+    ]
+
+    operations = [
+        migrations.RenameField(
+            model_name='student',
+            old_name='interest',
+            new_name='interests',
+        ),
+    ]
diff --git a/core/models/accounts.py b/core/models/accounts.py
index f7d28ba53d18921486999aee2ab38c6e8d7b9adf..179df96647406225dd96f6776cf31858a3831cdf 100755
--- a/core/models/accounts.py
+++ b/core/models/accounts.py
@@ -106,6 +106,7 @@ class Student(models.Model):
     certification = models.CharField(max_length=100, blank=True, null=True)
     languages = models.CharField(max_length= 100, blank=True, null=True)
     seminar = models.CharField(max_length=100, blank=True, null=True)
+    interests = models.CharField(max_length=100, blank=True, null=True)
     dependants = models.IntegerField(db_column='dependants', default=0, blank=True, null=True)
 
     @property
diff --git a/core/serializers/accounts.py b/core/serializers/accounts.py
index 1d7abf9b4c25068a3769d9ff58f36016e035f704..779a7c11afefc9616cbc4459d03b7fa88cc5f5dd 100755
--- a/core/serializers/accounts.py
+++ b/core/serializers/accounts.py
@@ -22,7 +22,7 @@ class StudentSerializer(serializers.ModelSerializer):
         fields = ['id', 'name', 'user', 'npm', 'resume', 'phone_number', 'gender', 'birth_place', 'birth_date', 'major', 'batch',
                   'show_transcript', 'photo', 'accepted_no', 'linkedin_url', 'hackerrank_url', 'region', 'intro', 'portfolio_link', 'website_url', 'student_gpa', 'age', 'recommendations',
                   'work_experience', 'latest_work', 'latest_work_desc', 'read_no', 'volunteer', 'job_seeking_status', 'skills', 'expected_salary',
-                  'self_description', 'github_url', 'awards', 'certification', 'languages', 'seminar', 'alamat', 'projects', 'dependants']
+                  'self_description', 'github_url', 'awards', 'certification', 'languages', 'seminar', 'interests', 'alamat', 'projects', 'dependants']
 
     def get_accepted_no(self, obj):
         apps = Application.objects.filter(student=obj, status=4)
@@ -75,6 +75,7 @@ class StudentUpdateSerializer(serializers.ModelSerializer):
             'certification' : instance.certification,
             'languages' : instance.languages,
             'seminar' : instance.seminar,
+            'interests' : instance.interests,
             'dependants' : instance.dependants,
         }
 
@@ -135,6 +136,8 @@ class StudentUpdateSerializer(serializers.ModelSerializer):
             'languages', instance.languages)
         instance.seminar = validated_data.get(
             'seminar', instance.seminar)
+        instance.interests = validated_data.get(
+            'interests', instance.interests)
         instance.dependants = validated_data.get('dependants', instance.dependants)
         instance.save()
         instance.user.save()
@@ -144,7 +147,7 @@ class StudentUpdateSerializer(serializers.ModelSerializer):
         model = Student
         fields = ['resume', 'email', 'phone_number', 'gender', 'photo', 'show_transcript', 'linkedin_url', 'hackerrank_url', 'region', 'intro', 'portfolio_link', 'website_url', 'student_gpa',
                   'recommendations', 'work_experience', 'latest_work', 'latest_work_desc', 'volunteer', 'job_seeking_status', 'skills', 'expected_salary',
-                  'self_description', 'github_url', 'awards', 'certification', 'languages', 'seminar', 'alamat', 'projects', 'dependants']
+                  'self_description', 'github_url', 'awards', 'certification', 'languages', 'seminar', 'interests', 'alamat', 'projects', 'dependants']
 
 
 class CompanyUpdateSerializer(serializers.ModelSerializer):
diff --git a/core/tests/test_accounts.py b/core/tests/test_accounts.py
index aecb57aaab5d653b4f89416e3809af566cc1eb82..431bb504c600b63a1b9cde81897d49565920a75b 100755
--- a/core/tests/test_accounts.py
+++ b/core/tests/test_accounts.py
@@ -237,6 +237,11 @@ class ProfileUpdateTests(APITestCase):
         self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual(response.data.get('seminar'), 'Seminar CompFest')
 
+        url = '/api/students/' + str(student_id) + "/profile/"
+        response = self.client.patch(url, {'interests': 'Machine Learning'}, format='multipart')
+        self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
+        self.assertEqual(response.data.get('interests'), 'Machine Learning')
+
     @requests_mock.Mocker()
     def test_student_profile_update_filetype_validation(self, m):
         mock_csui_oauth_verify(m)